/**
 * ajax 服务路由集合
 */
const router = require('koa-router')({
    prefix: '/weapp'
})
const controllers = require('../controllers')

// 从 sdk 中取出中间件
// 这里展示如何使用 Koa 中间件完成登录态的颁发与验证
const { auth: { authorizationMiddleware, validationMiddleware } } = require('../qcloud')

// --- 登录与授权 Demo --- //
// 登录接口 前端通过button获取用户的授权。拥有授权之后会把用户信心存储到数据库
// cSessionInfo  然后以后就可以通过登录接口查询数据库直接获取到用户信息了，不再出现授权
// 可以通过用户信息接口API直接调取用户信息。首次没有授权肯定是登录失败的
router.get('/login', authorizationMiddleware, controllers.login)
// 用户信息接口（可以用来验证登录态）
router.get('/user', validationMiddleware, controllers.user)

// --- 图片上传 Demo --- //
// 图片上传接口，小程序端可以直接将 url 填入 wx.uploadFile 中
router.post('/upload', controllers.upload)

// --- 信道服务接口 Demo 类似websocket  --- //
// GET  用来响应请求信道地址的
router.get('/tunnel', controllers.tunnel.get)
// POST 用来处理信道传递过来的消息
router.post('/tunnel', controllers.tunnel.post)

// --- 客服消息接口 Demo --- //
// GET  用来响应小程序后台配置时发送的验证请求
router.get('/message', controllers.message.get)
// POST 用来处理微信转发过来的客服消息
router.post('/message', controllers.message.post)

router.get('/demo',controllers.demo)
//  图书排行榜数据
//  给前端返回'id','title','image','count'  排名前九的
router.get('/top', controllers.top)

// 新增图书
router.post('/addbook', controllers.addbook)
// 图书列表
router.get('/booklist', controllers.booklist)
// 统计书籍的浏览次数，每次自增1，并且返回书籍数据
router.get('/bookdetail', controllers.bookdetail)
//  用户添加书籍评论
router.post('/addcomment', controllers.addcomment)
// 书籍评论加载
router.get('/commentlist', controllers.commentlist)
module.exports = router
